#ifndef __MYGPIO_H
#define __MYGPIO_H

#include "n32g45x.h"


#define GPIO_PORT_CTR    	GPIOA
#define GPIO_CLK_CTR     	RCC_APB2_PERIPH_GPIOA
#define GPIO_PIN_CTR     	GPIO_PIN_12

#define GPIO_PORT_CHRG   	GPIOA
#define GPIO_CLK_CHRG    	RCC_APB2_PERIPH_GPIOA
#define GPIO_PIN_CHRG    	GPIO_PIN_11

#define GPIO_PORT_VUSB   	GPIOB
#define GPIO_CLK_VUSB    	RCC_APB2_PERIPH_GPIOB
#define GPIO_PIN_VUSB    	GPIO_PIN_7

#define RCC_ALL_CLK 		(GPIO_CLK_CTR | GPIO_CLK_CHRG | GPIO_CLK_VUSB)

#define POWER_CTR_EN(x)   			if(1 == x)GPIO_SetBits(GPIO_PORT_CTR, GPIO_PIN_CTR);\
									else if(0 == x)GPIO_ResetBits(GPIO_PORT_CTR, GPIO_PIN_CTR)
									
									
#define VUSB_LEVEL_DETECTION()	 	GPIO_ReadInputDataBit(GPIO_PORT_VUSB, GPIO_PIN_VUSB)	 									
#define CHRG_LEVEL_DETECTION()	 	GPIO_ReadInputDataBit(GPIO_PORT_CHRG, GPIO_PIN_CHRG)	 

void MY_GPIO_Init(void);
void MY_IWDG_Init(void);
#endif

